<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Performance Scenarios</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<p>The following set of scenarios contains all those scenarios that we think are 
  important for the overall perception of text related performance by the users. 
  We distinguish between user's first contact, permanent user activities, and 
  rare user activities. User's first contact describes the setup and the activities 
  that reflect the situation when a user starts the system and pursues certain 
  actions for the fist time during that session. Permanent user activities describes 
  the setup and the activities that reflect the situation that the user faces 
  when continuously working with the system. Rare user activities describe the 
  setup and the activities that reflect the situation that the user faces only 
  infrequently but may hamper the user's trust into the system. The numbers behind 
  the subject indicate the importance of the scenario. E.g., typing speed is more 
  important than speed in which the selection can semantically be expanded.</p>
<h3>User's first contact</h3>
<ul>
  <li><b> Open editor (1)</b></li>
  <ul>
    <li><img src="ok.gif" height=10 width=10 /> Open first text editor in the resource perspective. Measure time until 
      the first user interaction with the newly opened editor is possible.</li>
    <li><img src="ok.gif" height=10 width=10 /> Open first Java editor in the Java perspective. Measure time until the 
      first user interaction with the newly opened editor is possible.</li>
    <li><img src="ok.gif" height=10 width=10 /> Restart workbench with an open Text editor in the resource perspective.</li>
    <li><img src="ok.gif" height=10 width=10 /> Restart workbench with an open Java editor in the Java perspective.</li>
  </ul>
  <li><b>Open Quick Outline (2) </b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Open Quick Outline for a large Java file for the first time. Measure 
        time until the outline pops up.</li>
    </ul>
  </li>
</ul>
<p></p>
<h3>Permanent user activities</h3>
<ul>
  <li> <b>Typing (1) </b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Typing speed in the Text editor at the end of a large file.</li>
      <li><img src="ok.gif" height=10 width=10 /> Typing speed in the Java editor at the end of a large file.</li>
      <li><img src="ok.gif" height=10 width=10 /> Smart paste at the end of a large Java file in the middle of a method (default content type)</li>
      <li><img src="ok.gif" height=10 width=10 /> Autoedit when pressing enter after /** right in front of the declaration 
        of a complex method (return value, number of args, thrown exceptions)</li>
    </ul>
  </li>
  <li> <b>Painting (1) </b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Painting annotations in text with squiggle lines when typing.
        <ul>
          <li>Measure number of repaints</li>
        </ul>
      </li>
      <li><img src="ok.gif" height=10 width=10 /> Painting annotations in text with squiggle lines when scrolling with the mouse using the scrollbar. (mouse scrolling depends on <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72244">bug 72244</a>, current solution uses keyboard events)
        <ul>
          <li>Measure number of repaints</li>
        </ul>
      </li>
    </ul>
  </li>
  <li> <b>Open editor (1) </b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Open Text editor for a large file after a warm-up of opening and closing 
        the same file 10 times.</li>
      <li><img src="ok.gif" height=10 width=10 /> Open Java editor for a large file after a warm-up of opening and closing 
        the same file 10 times. 
        <ul>
          <li>Configurations
<ul>
              <li><img src="ok.gif" height=10 width=10 /> with/without Outliner as part of the perspective</li>
              <li><img src="ok.gif" height=10 width=10 /> with code folding enabled/disabled</li>
            </ul>
          </li>
          <li><img src="ok.gif" height=10 width=10 /> Measure time until the first user interaction with the newly opened 
            editor is possible.</li>
          <li><img src="ok.gif" height=10 width=10 /> Measure number of computed TextPresentations.</li>
        </ul>
      </li>
      <li><img src="ok.gif" height=10 width=10 /> Switching between open editors</li>
    </ul>
  </li>
  <li><b>Content assist (2)</b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Request content assist in the middle of a method. Measure time until 
        the popup is visible.</li>
    </ul>
  </li>
  <li><b>Save (3)</b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Save a large file in the Text editor.</li>
      <li><img src="ok.gif" height=10 width=10 /> Save a large file in the Java editor.</li>
    </ul>
  </li>
  <li><b>Compound changes (4)</b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Format a large compilation unit including Javadoc comments.</li>
      <li><img src="ok.gif" height=10 width=10 /> Revert Text/Java editor with folding enabled/disabled.</li>
      <li><img src="ok.gif" height=10 width=10 /> Undo shifting a large compilation unit to the right.</li>
      <li><img src="ok.gif" height=10 width=10 /> Move a single line in a large compilation unit.</li>
    </ul>
  </li>
  <li><b>Navigation (5) </b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> In the Java editor, in a method of a large compilation unit, semantically expand selection.</li>
    </ul>
  </li>
  <li><b>QuickDiff (6)</b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Measure memory consumption of Quick diff while initializing. The large compilation unit is widely changed compared to the reference.</li>
    </ul>
  </li>
</ul>
<h3>Rare user actions</h3>
<ul>
  <li><b>Compound changes (4)</b> 
    <ul>
      <li><img src="ok.gif" height=10 width=10 /> Replace all occurrences of a string in a large compilation unit.</li>
      <li><img src="ok.gif" height=10 width=10 /> Convert line delimiter of a project</li>
      <li><img src="ok.gif" height=10 width=10 /> Format a project</li>
    </ul>
  </li>
</ul>
</body>
</html>
